#!/usr/bin/env node

// 引入commander
const {program}=require("commander")

// 版本号
const {version}=require("./package.json")

// 交互
const inquire=require("inquirer")

// 定义交互信息
const prompList=[{
    type:"input",  //交互类型
    name:"input",  //指定字段名
    message:"请输入名称",  //提示信息
    default:"拉拉"  //默认值
},{
    type:"list",
    name:"list",
    message:"请选择一种水果",
    choices:["banana","apple","pear"]
},{
    type:"expand",
    name:"expand",
    message:"请选择",
    choices:[{
        key:"a",
        value:"米饭"
    },{
        key:"b",
        value:"香蕉"
    }]
},{
    type:"confirm",
    name:"confirm",
    message:"请选择"
}]

// 定义方法
const actionHandel=()=>{
    inquire.prompt(prompList).then(answers=>{
        console.log(answers);
    })
}

// 定义命令
program
    .command("int")   //指令  一般不写
    .option("-v")  //子指令  可写多个
    .option("-d")
    .description("打印版本号")  //描述  执行-h  自带-h, --help
    .action(actionHandel)  //把方法抛出去

// process.argv 进程的参数
program.version(version).parse(process.argv)